package com.zhongke.cotrun.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongke.cotrun.model.pojo.AgentJobs;
import com.zhongke.cotrun.model.pojo.NeedBidding;

/**
 * @Description: 经纪人工作信息
 * @Author: songjing
 * @Date:   2020-03-28
 * @Version: V1.0
 */
public interface AgentJobsMapper extends BaseMapper<AgentJobs> {
	/**
     * 根据用户主键、工作主键、工作类型、状态等查看工作关联列表
     * @param agentInfoId 经纪人表主键
     * @param userInfoId 用户表主键
     * @param mainId 工作表主键
     * @param type 工作类型
     * @param state 状态
     * @return
     */
    public List<AgentJobs> selectAll(@Param("agentInfoId") Long agentInfoId,@Param("userInfoId") Long userInfoId,@Param("mainId") Long mainId
    		,@Param("type") String type,@Param("state") String state,@Param("searchKey") String searchKey);
    /**
     * 根据用户主键、工作主键、工作类型、状态等统计
     * @param agentInfoId 经纪人表主键
     * @param userInfoId 用户表主键
     * @param mainId 工作表主键
     * @param type 工作类型
     * @param state 状态
     * @return
     */
    public Integer countAll(@Param("agentInfoId") Long agentInfoId,@Param("userInfoId") Long userInfoId,@Param("mainId") Long mainId,@Param("type") String type,@Param("state") String state);
    /**
     * 统计经纪人评分
     * @param agentInfoId 经纪人表主键
     * @param userInfoId 用户表主键
     * @param type 工作类型
     * @param state 状态
     * @return
     */
    public Map sumScoreByUser(@Param("agentInfoId") Long agentInfoId,@Param("userInfoId") Long userInfoId,@Param("type") String type,@Param("state") String state);
   
    
    /**
     * 统计工作类型相关数量
      * @param agentInfoId 经纪人表主键
     * @param userInfoId 用户表主键
     * @param mainId 工作表主键
     * @param state 状态
     * @return
     */
	public Map countAllByType(@Param("agentInfoId") Long agentInfoId,@Param("userInfoId") Long userInfoId,@Param("mainId") Long mainId,@Param("state") String state);
}
